From: LLVM Packaging Team Date: Tue, 16 Dec 2025 11:47:30 +0000 (+0100) Subject: link-with-package-metadata X-Git-Tag: archive/raspbian/1%21.1.8-1+rpi1~9 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=7b903d9326c4380bcb23c00b81acbbaf8182b290;p=llvm-toolchain-21.git link-with-package-metadata =================================================================== Gbp-Pq: Name link-with-package-metadata.diff --- diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp index cd40d1cca3..ab9a13057c 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp @@ -309,6 +309,21 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) ExtraOpts.push_back("--build-id"); #endif + if (Distro.IsDebian() && Distro >= Distro::DebianTrixie + || Distro.IsUbuntu() && Distro >= Distro::UbuntuNoble) + { + const char *pkg_metadata = getenv ("ELF_PACKAGE_METADATA"); + const char *no_pkg_metadata = getenv ("NO_PKG_METADATA"); + + if (no_pkg_metadata) { + // don't issue --package-metadata option + } else if (!pkg_metadata) { + // no environment set for package metadata + } else { + ExtraOpts.push_back(std::string("--package-metadata=") + pkg_metadata); + } + } + // The selection of paths to try here is designed to match the patterns which // the GCC driver itself uses, as this is part of the GCC-compatible driver. // This was determined by running GCC in a fake filesystem, creating all